home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / blackfin / include / asm / hardirq.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.0 KB  |  46 lines

  1. #ifndef __BFIN_HARDIRQ_H
  2. #define __BFIN_HARDIRQ_H
  3.  
  4. #include <linux/cache.h>
  5. #include <linux/threads.h>
  6. #include <asm/irq.h>
  7.  
  8. typedef struct {
  9.     unsigned int __softirq_pending;
  10.     unsigned int __syscall_count;
  11.     struct task_struct *__ksoftirqd_task;
  12. } ____cacheline_aligned irq_cpustat_t;
  13.  
  14. #include <linux/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t above */
  15.  
  16. /*
  17.  * We put the hardirq and softirq counter into the preemption
  18.  * counter. The bitmask has the following meaning:
  19.  *
  20.  * - bits 0-7 are the preemption count (max preemption depth: 256)
  21.  * - bits 8-15 are the softirq count (max # of softirqs: 256)
  22.  * - bits 16-23 are the hardirq count (max # of hardirqs: 256)
  23.  *
  24.  * - ( bit 26 is the PREEMPT_ACTIVE flag. )
  25.  *
  26.  * PREEMPT_MASK: 0x000000ff
  27.  * HARDIRQ_MASK: 0x0000ff00
  28.  * SOFTIRQ_MASK: 0x00ff0000
  29.  */
  30.  
  31. #if NR_IRQS > 256
  32. #define HARDIRQ_BITS    9
  33. #else
  34. #define HARDIRQ_BITS    8
  35. #endif
  36.  
  37. #ifdef NR_IRQS
  38. # if (1 << HARDIRQ_BITS) < NR_IRQS
  39. # error HARDIRQ_BITS is too low!
  40. # endif
  41. #endif
  42.  
  43. #define __ARCH_IRQ_EXIT_IRQS_DISABLED    1
  44.  
  45. #endif
  46.